package com.ruoyi.miniapp.service.impl;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.miniapp.domain.MiniCoupon;
import com.ruoyi.miniapp.mapper.MiniCouponMapper;
import com.ruoyi.miniapp.service.IMiniCouponService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * 优惠券Service业务层处理
 * 
 * @author duantao
 * @date 2025-09-10
 */
@Service
public class MiniCouponServiceImpl implements IMiniCouponService
{
    @Autowired
    private MiniCouponMapper miniCouponMapper;

    /**
     * 查询优惠券
     * 
     * @param couponId 优惠券主键
     * @return 优惠券
     */
    @Override
    public MiniCoupon selectMiniCouponByCouponId(Long couponId)
    {
        return miniCouponMapper.selectMiniCouponByCouponId(couponId);
    }

    /**
     * 查询优惠券列表
     * 
     * @param miniCoupon 优惠券
     * @return 优惠券
     */
    @Override
    public List<MiniCoupon> selectMiniCouponList(MiniCoupon miniCoupon)
    {
        return miniCouponMapper.selectMiniCouponList(miniCoupon);
    }

    /**
     * 新增优惠券
     * 
     * @param miniCoupon 优惠券
     * @return 结果
     */
    @Override
    public int insertMiniCoupon(MiniCoupon miniCoupon)
    {
        miniCoupon.setCreateTime(DateUtils.getNowDate());
        return miniCouponMapper.insertMiniCoupon(miniCoupon);
    }

    /**
     * 修改优惠券
     * 
     * @param miniCoupon 优惠券
     * @return 结果
     */
    @Override
    public int updateMiniCoupon(MiniCoupon miniCoupon)
    {
        miniCoupon.setUpdateTime(DateUtils.getNowDate());
        return miniCouponMapper.updateMiniCoupon(miniCoupon);
    }

    /**
     * 批量删除优惠券
     * 
     * @param couponIds 需要删除的优惠券主键
     * @return 结果
     */
    @Override
    public int deleteMiniCouponByCouponIds(Long[] couponIds)
    {
        return miniCouponMapper.deleteMiniCouponByCouponIds(couponIds);
    }

    /**
     * 删除优惠券信息
     * 
     * @param couponId 优惠券主键
     * @return 结果
     */
    @Override
    public int deleteMiniCouponByCouponId(Long couponId)
    {
        return miniCouponMapper.deleteMiniCouponByCouponId(couponId);
    }
}
